Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ελάχιστο μεταξύ πεδίων SQL92

Îåêßíçóå áðü ôï ìÝëïò sakis_drm. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 16-12-2009, 23:08. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-12-2009, 20:43 55922

    Ελάχιστο μεταξύ πεδίων SQL92

    ANSY SQL92

    Γνωρίζει κάποιος πώς μπορώ να φέρω ανά γραμμή τη μικρότερη τιμή μεταξύ δύο πεδίων ?

    έχω έναν πίνακα  tbl
    ID    Value1      Value2
    1         5              6
    2         8              3
    3         2              2

    Το ερώτημα ιδεατά θα μπορούσε είναι της μορφής (η συνάρτηση MINIMUM ανήκει στη σφαίρα της φαντασίας):
    SELECT MINIMUM(Value1, Value2) FRΟM tbl

    και το επιθυμητό αποτέλεσμα :

    5
    3
    2



  •  16-12-2009, 21:04 55923 σε απάντηση της 55922

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    Άσκηση είναι αυτό?
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  16-12-2009, 21:14 55924 σε απάντηση της 55923

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    Ναί (εξού και το 92) είναι το κερασάκι της τούρτας από μια ζόρικη άσκηση με self-joins. Έχω κάνει όλο το δύσκολο κομμάτι και μου μένει αυτό. Μου κάνει εντύπωση γιατί είναι σχετικά κάτι απλό αλλά δεν υπάρχει πουθενά η απάντηση.

  •  16-12-2009, 21:31 55925 σε απάντηση της 55924

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    Ο λόγος είναι ότι αυτό που ζητάς δεν υπάρχει. Θα πρέπει να χρησιμοποιήσεις ένα CASE για να επιλέξεις τη μία από τις δύο τιμές


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  16-12-2009, 21:34 55926 σε απάντηση της 55924

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    Υ.Γ. Και δε μου λες, πού βρήκες βάση συμβατή με SQL 92 να τα δοκιμάσεις αυτά? Από τότε έχει περάσει .... κάποιος καιρός. Από τότε έχουν βγει άλλε 4 εκδόσεις του standard και έχει φτάσει πλέον στο SQL 2008
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  16-12-2009, 21:35 55927 σε απάντηση της 55925

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    έχεις δίκιο, μόνο με case γίνεται. Η απάντηση είναι η εξής:

    SELECT CASE WHEN Value1 <= Value2 THEN Value1 ELSE Value2 END AS MinimumValue FROM tbl

    thanks

  •  16-12-2009, 21:39 55928 σε απάντηση της 55926

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    Παναγιώτης Καναβός:
    Υ.Γ. Και δε μου λες, πού βρήκες βάση συμβατή με SQL 92 να τα δοκιμάσεις αυτά? Από τότε έχει περάσει .... κάποιος καιρός. Από τότε έχουν βγει άλλε 4 εκδόσεις του standard και έχει φτάσει πλέον στο SQL 2008


    έχεις δίκιο Smile και εγώ σε SQL SERVER 2008 δουλεύω γενικά. Απλά σε αυτό δεν ήμουν σίγουρος αν τελικά θα το δώσω για να παίξει σε DB2 ή MYSQL γι αυτό ζήτησα κάτι πιό συμβατό, μήπως και υπάρχει κάτι πιό standart - απλό το οποίο δεν γνωρίζω.

    Σε ευχαριστώ για το ενδιαφέρον

  •  16-12-2009, 22:01 55930 σε απάντηση της 55928

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    και για την περίπτωση που το θες για όλα τα rows

    select min(case when value1>value2 then value2 else value1 end) from t1


    Antonios Chatzipavlis

  •  16-12-2009, 23:08 55932 σε απάντηση της 55928

    Απ: Ελάχιστο μεταξύ πεδίων SQL92

    Όταν έλεγα για SQL 2008 εννοούσα το SQL 2008 standard. Υπάρχει και τέτοιο! Όσο για το τί υποστηρίζεται από ποιά βάση, γενικά καμμία βάση δεν υποστηρίζει πλήρως κανένα standard. Υπάρχουν επίπεδα συμβατότητας και η κάθε βάση αναφέρει σε ποιό επίπεδο υποστηρίζει ποιό από τα διάφορα standards. Το CASE πάντως υπάρχει και σε SQL 92.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems